package com.hourse.app.utils;

import java.math.BigDecimal;
import java.math.RoundingMode;

/**
 * 金额工具类
 *
 */
public class MoneyUtil {

    /**
     * 将金额转为大写金额
     *
     * @param money
     * @return
     */
    public static String numberOfMoney(String money) {

        BigDecimal numberOfMoney = new BigDecimal(money).setScale(2, BigDecimal.ROUND_HALF_DOWN);
        //将金额转为大写金额
        String moneyCN = NumberToCN.number2CNMontrayUnit(numberOfMoney);

        return moneyCN;
    }

    /**
     * 将字符串金额转为数组金额
     */
    public static String[] number2MontrayUnit(String money) {

        BigDecimal numberOfMoney = new BigDecimal(money).setScale(2, BigDecimal.ROUND_HALF_DOWN);

        String[] strings = NumberToCN.number2MontrayUnit(String.valueOf(numberOfMoney));

        return strings;

    }

    /**
     * 元转万元且保留两位小数并四舍五入
     *
     * @param value
     * @return
     */
    public static String getNumberWanTwo(String value) {

        BigDecimal bigDecimal = new BigDecimal(value == null ? "0" : value);
        String rs = null;
        BigDecimal decimal = BigDecimal.ZERO;

        // 转换为万元（除以10000）
        if(bigDecimal.compareTo(BigDecimal.ONE) > -1 ){
            decimal = bigDecimal.divide(new BigDecimal("10000"),2,RoundingMode.HALF_UP);
        }else {
            decimal = bigDecimal.divide(new BigDecimal("10000"),RoundingMode.HALF_UP);
        }
        rs = decimal.toString();
        // 保留两位小数
        //DecimalFormat formater = new DecimalFormat("0");
        // 四舍五入

//        if(decimal.compareTo(BigDecimal.ZERO) > 1) {
//            formater.setRoundingMode(RoundingMode.HALF_UP);
//            rs = formater.format(decimal);
//        }
        return rs;
    }


}
